<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // 递归实现阶乘  
        //封装函数  传入一个实参10  那么返回 10*9*8...*1 的结果 

        function jiecheng(num){
            if(num==1) return 1;
            var res=1;
            for(var i=num;i>1;i--){
                res *= i
            }
            return res;
        }   

        console.log(jiecheng(10))
        // 先写函数
        // 写结束条件
        function jiecheng2(num){
            if(num==1) return 1;
            return num*jiecheng2(num-1);
        }

        // jiecheng2(1); 1
        // jiecheng2(2); 2*jiecheng2(1)
        // jiecheng2(3); 3*2*jiecheng2(1)
        // jiecheng2(4); 4*3*2*jiecheng2(1)
        // jiecheng2(10); 10*jiecheng2(9);
        console.log(jiecheng2(10));


        // 递归是一个新的解决方案 ;
        // 递归也是有调用次数限制  1000以内 超过会报错 提示超过限制 
        // 了解 
    </script>
</body>
</html>